home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / Developer University / DU Projects / TalkerLib C++ Source / TComputer.cp < prev    next >
Encoding:
Text File  |  1996-08-22  |  2.0 KB  |  88 lines  |  [TEXT/CWIE]

  1. // Copyright © 1992 Emergent Behavior. All rights reserved.
  2.  
  3. //==================================================================
  4. #ifndef __GESTALTEQU__
  5.     #include "GestaltEqu.h"
  6. #endif
  7.  
  8. #ifndef __SPEECH__
  9.     #include "Speech.h"
  10. #endif
  11.  
  12. #ifndef __TOOLUTILS__
  13.     #include "ToolUtils.h"
  14. #endif
  15. //==================================================================
  16. #ifndef _TCOMPUTER_
  17.     #include "TComputer.h"
  18. #endif
  19.  
  20. //==================================================================
  21. TComputer::TComputer()
  22. {
  23.      long response;
  24.     OSErr err = Gestalt(gestaltVersion, &response);
  25.     if (err != noErr) {
  26.         const short kNeedsSystem6AlertID = 128;
  27.         SysBeep(1);
  28.         ExitToShell();
  29.         }
  30. }
  31.  
  32. //------------------------------------------------------------------
  33. Boolean
  34. TComputer::HasColorQuickDraw()
  35. {
  36.      long response;
  37.     OSErr err = Gestalt(gestaltQuickdrawVersion, &response);
  38.     return (response > gestaltOriginalQD);
  39. }
  40.  
  41. //------------------------------------------------------------------
  42. Boolean
  43. TComputer::HasMathChip()
  44. {
  45.      long response;
  46.     OSErr err = Gestalt(gestaltFPUType, &response);
  47.     return (response != gestaltNoFPU);
  48. }
  49.  
  50. //------------------------------------------------------------------
  51. Boolean
  52. TComputer::HasSystem7()
  53. {
  54.      long response;
  55.     OSErr err = Gestalt(gestaltSystemVersion, &response);
  56.     short version = LoWord(response);
  57.     return (version >= 0x0700);
  58. }
  59.  
  60. //------------------------------------------------------------------
  61. Boolean
  62. TComputer::HasQuickDraw32()
  63. {
  64.      long response;
  65.     OSErr err = Gestalt(gestaltQuickdrawVersion, &response);
  66.     short qd32 = LoWord(response);
  67.     return (qd32 >= gestalt32BitQD);
  68. }
  69.  
  70. //------------------------------------------------------------------
  71. Boolean
  72. TComputer::HasGWorlds()
  73. {
  74.     return ( TComputer::HasQuickDraw32() || TComputer::HasSystem7() );
  75. }
  76.  
  77. //------------------------------------------------------------------
  78. Boolean
  79. TComputer::HasTextToSpeech()
  80. {
  81.      long response;
  82.     OSErr err = Gestalt(gestaltSpeechAttr, &response);
  83.     if ( (err != noErr) || !(response & (1 << gestaltSpeechMgrPresent) ) )
  84.         return FALSE;
  85.     else
  86.         return TRUE;
  87. }
  88.